This invention relates generally to notifications and alerts received or generated by devices such as computers, and more particularly to an architecture for managing such alerts.
The typical computer user is faced with notifications and alerts generated from many different sources. For example, an operating system may notify the user that the system is running low on memory. An electronic mail program may notify the user that he or she has received new electronic mail. A calendaring program may notify the user that he or she has an upcoming appointment. A software application may infer that a user might benefit from some assistance. A electronic news or business service may be decide that a user might like to review some information about a development in the world.
Generally, within the prior art, the user is made aware of each alert about different forms of information on an ad hoc basis, by the generating program. For example, the user may be in the middle of an important video conference taking place on the computer, yet the electronic mail program usually will dutifully alert the user to new email receivedxe2x80x94even if is junk mail, and even if the user would rather not receive such alerts because of the importance of the conference. While the user may or may not be able to change alert preferences in an individual program, he or she generally is not able to set preferences that affect all programs, system-wide, and furthermore many programs do not allow the changing of such preferences. Beyond the lack of an ability to centrally control alerts, there is a lack of methods that consider dynamically the urgency or importance of notifications and that can weigh the value of transmitting the information with the potential context-sensitive costs to the user in terms of the distraction, obstruction of limited screen real estate associated with the rendering of visual or audio notifications. Such costs can be dependent on the context, including the user""s current location (office vs. offsite location for user""s with mobile computing or paging devices), the current task at hand, and current overall focus of attention. Methods have not been available for personal computing and communications systems that have the ability to intelligently balance the value of speedy transmittal of a notification (or the costs of delaying the notification of users) with the cost of notifying users.
The situation of being faced with an intermittent stream of messages from multiple applications and messages is only likely to get worse, as the computer becomes a convergence appliance, and other devices, such as telephones, pagers, televisions, appliances, etc., communicate through the computer. For example, a telephone may alert the user to an incoming call, including the phone number of the call, while a television may alert the user to a show that he or she had previously indicated was important to watch. Thus, the user potentially faces a situation where he or she is constantly distracted by such alerts.
For these and other reasons, there is a need for the present invention.
The invention relates to an architecture for managing alerts. In one embodiment, a computerized system includes several modules and application interfaces, including an attentional-status module, a peripheral information notification and alerts module, and a notification decision making module. The notification decision making module in some embodiments can be further decomposed into a distinct rendering module. Such a system also provides in one embodiment a specific set of interfaces that allows multiple applications to publish their presence and functionality and subscribe to the architecture.
The attentional-status module continues to infer the probabilities of alternative states of attention of the user based on the monitoring of events generated or influenced by the user""s behavior and consideration of other important evidence, including the user""s calendar and time of day. In another embodiment, the module simply generates the probability that the user is currently in a state where he or she is either actively interested in reviewing alerts or becomes xe2x80x9cavailablexe2x80x9d to receive a notification with zero or minimal cost. As shorthand, the probability of being available for reviewing alerts with minimal cost is also referred to as the user-availability probability. In one embodiment, in addition to the probability distribution over the focus of attention or over the availability of the user, the attentional status module also infers a probability distribution over the period of time until the user becomes available for reviewing alerts with minimal cost. In one embodiment, this module utilizes a probabilistic model such as a Bayesian network model to infer the probabilities of alternate states of attention, the availability probability, or the probability over the period of time until the user becomes available for reviewing alerts at minimal cost.
The peripheral information notification and alerts module is to receive information, notifications, and alerts, for example, in one embodiment, from a set of application programs running on a computer, as well as from external devices such as telephones, televisions, etc. The notification decision-making module makes decisions about how, if, and when to alert the user about the information and alerts received by the peripheral information notification and alerts module, based on the probabilities generated by the attentional status module about the likelihood of alternate states of attention. In one embodiment, the system employs a decision-theoretic analysis about how and when to render an alert based on a consideration of the expected costs of interrupting the user by considering the costs of interruption for each of the possible states of attentional focus and the likelihood of each of the states. In one embodiment, this module determines the manner by which the user is alertedxe2x80x94for example, in an audio or visual manner, or on a mobile device such as a cell phone or a pager.
Embodiments of the invention provide for advantages over the prior art. A user, for example, is not confronted with different alerts made in different manners ad hoc by different sources (e.g., programs or devices). Rather, alert management is centralized and is guided by policies derived from knowledge about costs or preferences. Furthermore, in one embodiment, the expected value of transmitting an alert determines whether the user desires to be alerted, based on what the user is currently doing, for example, on the current sensed activity and his or her prior history of responding to alerts. The importance of the alerts also can determine whether the user is alerted. Finally, the notification decision-making module ensures that alerts are presented to the user in a consistent manner, regardless of the source of the alerts, and can decide in one embodiment the manner of the alert based on its importancexe2x80x94for example, a salient visual and audio alert in the case of an extremely important alert, and a pleasant, low volume audio-only alert in the case of a low-priority alert.